偏移量offset
offsetLeft元素所占区域的左边缘到父元素的左边缘的距离, 所以元素的padding会影响offsetLeft 但是 margin不会.
offsetWidth是一个经常使用的值,该值真实的反映了元素所占空间的大小,而width,height属性仅仅表达了内容区. 是元素在水平方向所占空间大小,即元素宽度,(可见的)水平滚动条的宽度,内边距,边框等四者的总和。
offsetWidth = width + padding + border + 滚动
客户区 Client
客户区, 其实就是用户可以看到的,并且能利用 的区域。在浏览器中,客户区表达了元素可以渲染的区域,显然,这个区域就是元素所占空间,但是边框和滚动条是不算的,所以客户区大小的内容区大小加上内边 距。故clientWidth与offsetWidth的差别就是在于边框与滚动条上。
clientWidth = width + padding
clientWidth的意义主要体现在document元素上,document.body.clientWidth真实的反映了窗口的大小。
滚动大小 Scroll
scrollWidth:元素内容的总宽度,或铺开的宽度。
scrollLeft:因水平滚动条而隐藏的宽度。